Conventionally, when a workpiece is heavy or large, to realize a cooperative operation for transferring the workpiece precisely and stably by maintaining the state of surely holding the workpiece by a plurality of robots via a plurality of preset teaching points extending from the departure point to the arrival point and interpolation points between the teaching points, a cooperative control system for cooperatively controlling each robot is adopted.
In such a cooperative control system using a plurality of robots, a workpiece can be held at a plurality of positions according to the arrangement positions of the robots in the working space, so that even if the workpiece is large, it can be transferred stably. Further, even if the workpiece is heavy, the weight of the workpiece is dispersed to the plurality of robots, so that the weight load and inertia load of each robot are little, thus the transfer speed can be increased and the transfer time can be shortened.
With respect to the aforementioned cooperative control system, there are a “many:1” system for generally controlling a plurality of robots by one control unit and a “1:1” system individually having a control unit corresponding to each robot available. In the “many:1” system for generally controlling a plurality of robots by one control unit, one control unit must control a plurality of robots, so that the control unit has a special constitution.
On the other hand, in the “1:1” system which is equipped with control units respectively for a plurality of robots and individually controls the robots, one control unit controls one robot, so that there is no need to use control units having a special constitution like the aforementioned “many:1” system and general-purpose control units can be used. Therefore, compared with the “many:1” system, the “1:1” system can easily realize a cooperative control system by introducing a cooperative control program and is excellent in the easiness of realization.
Moreover, the aforementioned general-purpose control unit can be used independently for other uses without constructing a cooperative control system and the control unit purchase cost can be saved, so that the general-purpose control unit has an advantage of being economical. Furthermore, the number of robots can be freely changed, so that the general-purpose control unit can freely respond to the system design and it has an advantage of having a high degree of freedom in the system design.
Furthermore, in another conventional art, in the aforementioned “1:1” individual cooperative control system individually equipped with control units for a plurality of robots, an individual control system for preparing a program for each robot and controlling the transfer operation using interlocks and a master/slave cooperative control system for setting one of a plurality of robots as a master robot, setting the other robots excluding the master robot as slave robots synchronizing with and following the master robot, cooperatively controlling the master robot and slave robots by a software program loaded in the master robot, thereby transferring a workpiece are known.
In the aforementioned master/slave cooperative control system, when the operation of robot must be changed due to changing of a workpiece and changing of transfer conditions, only the program loaded in the master robot may be changed, so that the system has an advantage that the program can be easily changed, prepared, and managed. Therefore, among a plurality of control units realized by a general-purpose robot controller, one master control unit is selected and the residual one or plural slave control units are cooperatively operated.
In such a system for cooperatively controlling between the master and slave robots, when data is to be transmitted and received between control units connected by a bus or a communication line, the control units constituting control systems individually and independently for each robot must be mutually synchronized. As a method for synchronization, when the control units are connected by a bus and data is to be transmitted and received between the control units by a shared memory method, there are a method for setting a flag on the shared memory and a method for generating an event in the interruption process using an interruption available.
FIG. 11 is a block diagram showing a part of the constitution in the software program for synchronizing the control units A and B of the master robot and slave robots in the master/slave cooperative control system of the conventional art. The conventional art is structured so that to in order to synchronize the control units A and B by the shared memory method, as viewed from the master side control unit A for controlling the master robot and the slave side control unit B for controlling the slave robots, a processing unit 2 of the master side control unit A writes the instruction value into a flag 4 on a shared memory 3 of the slave side control unit B, and a processing unit 5 of the slave side control unit B stands by until the instruction value is written into the flag 4 on the shared memory 3. Moreover, in order to monitor the flag 4 after the processing operation of the processing unit 5 of the slave side control unit B is finished, the polling operation is performed, and an event occurred at the time of a synchronization can be processed.
FIG. 12 is a block diagram for explaining the method for synchronizing the control units A and B by the interruption used in the master/slave cooperative control system of another conventional art. Between the control units A and B, when an interruption instruction from a processing unit 11 of the control unit A is input to the control unit B via a communication line 10, the control unit B activates an interruption processing means 12, generates an event in the interruption processing means 12, and activates a processing means 13. The processing means 13 of the control unit B, when the event process is finished, enters again the event standby state.
Still another conventional art is disclosed in Japanese Patent Laid-Open Publication 7-20915. In this conventional art, a cooperative control system of robots to be cooperatively controlled which includes two robots having an arm which are a control object of the cooperative operation and control units for individually controlling the robots and uses one among the robots as a master robot and the other as a slave robot is disclosed.
The respective control units perform interpolation calculations on the basis of the teaching point data and decide the passing point to which the arm of the master robot moves, and the next passing point of the arm of the slave robot is decided in either of the control units on the basis of the point to which the arm of the master robot moves next and the relative position and posture relationships of both arms corresponding to the state of a workpiece during transportation. The master side control unit decides the next passing point of the arm according to the given teaching contents and transmits the data to the slave side control unit. Thereby, the next passing point of the arm of the slave robot is decided. These control units, to transmit and receive mutual data as mentioned above, are connected by a communication line. Further, the control units, to synchronize with each other, use a clock signal from a clock oscillation circuit built in the CPU (central processing unit) of each of the control units and data and a program which are necessary for the cooperative operation are all stored in the memory of the control unit common to the master and slave robots.
In the conventional arts shown in FIGS. 11 and 12, a problem arises that a useless waiting time such as polling for the flag or stand by for an event is generated. Further, in the aforementioned conventional art disclosed in Japanese Patent Application 7-20915, to cooperatively operate the master arm and slave arm, when synchronizing the control units with each other, a concrete countermeasure is not adopted to cancel a fine difference between the synchronizing signals of the control units, a displacement in the control period due to accumulation of a fine difference between the transmission period and the reception period, and an inevitable communication delay by the communication line. As a result, a problem arises that a plurality of control units cannot be maintained always in the synchronization state. Furthermore, a method for inputting an operation instruction from input means respectively provided in control means installed for each robot, a method for transmitting and receiving signals between input/output means for each robot, and a method for responding to an error in setting of the relative position of the respective robots are not taken into account, so that it is practically impossible to construct a cooperative control system.
Therefore, an object of the present invention is to provide a cooperative control system of robots capable of canceling synchronization variations of a plurality of control units and preventing variations in the cooperative operation of robots.